package com.dong.utils;

import redis.clients.jedis.JedisPubSub;

import java.util.concurrent.CountDownLatch;

/**
 * <p>
 * redis channel 监听
 * 通过countDownLatch 通信
 * </p>
 *
 * @author: DJ
 * @Date: 13:58 2022/7/14
 */
public class SubscriberUtil extends JedisPubSub {

    private CountDownLatch cdl;

    /**
     * 构造函数
     *
     * @param cdl
     */
    public SubscriberUtil(CountDownLatch cdl) {
        this.cdl = cdl;
    }

    /**
     * 这里的作用只是监听有没有消息
     *
     * @param channel 通道
     * @param message 消息
     */
    @Override
    public void onMessage(String channel, String message) {
        if (cdl != null) {
            cdl.countDown();
        }
    }
}
